Architectural Reasoning in ArchJava
نویسندگان
چکیده
{jonal, chambers}@cs.washington.edu Abstract Software architecture is a crucial part of the specification of component-based systems. Reasoning about software architecture can aid design, program understanding, and formal analysis. However, existing approaches decouple implementation code from architecture, allowing inconsistencies, causing confusion, violating architectural properties, and inhibiting software evolution. ArchJava is an extension to Java that seamlessly unifies a software architecture with its implementation. ArchJava’s type system ensures that the implementation conforms to the architectural constraints. Therefore, programmers can visualize, analyze, reason about, and evolve architectures with confidence that architectural properties are preserved by the implementation.
منابع مشابه
Component-Oriented Programming in ArchJava
Component-oriented programming supports constructing software systems by composing independent components into a software architecture. However, existing approaches decouple implementation code from architecture, allowing inconsistencies, causing confusion, violating architectural properties, and inhibiting software evolution. ArchJava is an extension to Java that seamlessly unifies software ar...
متن کاملA Language–based Approach to Specification and Enforcement of Architectural Protocols
Software architecture research has proposed using protocols for specifying the interactions between components through ports. Enforcing these protocols in an implementation is difficult. This paper proposes an approach to statically reason about protocol conformance of an implementation. It leverages the architectural guarantees of the ArchJava programming language. The approach allows modular ...
متن کاملA Language–based Approach to Specification and Enforcement of Architectural Protocols (Expanded Version)
Software architecture research has proposed using protocols for specifying the interactions between components through ports. Enforcing these protocols in an implementation is difficult. This paper proposes an approach to statically reason about protocol conformance of an implementation. It leverages the architectural guarantees of the ArchJava programming language. The approach allows modular ...
متن کاملA case study in re-engineering to enforce architectural control flow and data sharing
Without rigorous software development and maintenance, software tends to lose its original architectural structure and become difficult to understand and modify. ArchJava, a recently proposed programming language which embeds a componentand-connector architectural specification within Java implementation code, offers the promise of preventing the loss of architectural structure. AliasJava, whic...
متن کاملA Language–based Approach to Specification and Enforcement of Architectural Protocols (CMU-ISR-10-110)
Software architecture research has proposed using protocols for specifying the interactions between components through ports. Enforcing these protocols in an implementation is difficult. This paper proposes an approach to statically reason about protocol conformance of an implementation. It leverages the architectural guarantees of the ArchJava programming language. The approach allows modular ...
متن کامل